package com.zensun.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zensun.system.domain.SysDept;
import com.zensun.system.domain.dto.SysDeptDto;
import com.zensun.system.domain.dto.SysDeptExcludeDto;
import com.zensun.system.domain.vo.SysDeptDetailVo;
import com.zensun.system.domain.vo.SysDeptTreeListVo;
import com.zensun.system.domain.vo.SysDeptTreeVo;

import java.util.List;

/**
 * 部门管理 服务层
 *
 * @author gmk
 */
public interface ISysDeptService extends IService<SysDept> {
    /**
     * 查询部门列表树
     *
     * @param sysDeptDto
     * @return
     */
    List<SysDeptTreeListVo> selectDepTreeList(SysDeptDto sysDeptDto);

    /**
     * 查询部门列表（排除节点）
     */
    public List<SysDeptTreeVo> excludeChild(SysDeptExcludeDto sysDeptExcludeDto);

    /**
     * 查询详情
     *
     * @param deptId
     * @return
     */
    SysDeptDetailVo selectDeptById(Long deptId);

    /**
     * 新增保存部门信息
     *
     * @param dept 部门信息
     * @return 结果
     */
    public boolean insertDept(SysDept dept);

    /**
     * 修改保存部门信息
     *
     * @param dept 部门信息
     * @return 结果
     */
    public boolean updateDept(SysDept dept);

    /**
     * 删除部门管理信息
     *
     * @param deptId 部门ID
     * @return 结果
     */
    public boolean deleteDeptById(Long deptId);


}
